Text copied to clipboard!
Titolo
Text copied to clipboard!Programmatore di sistemi
Descrizione
Text copied to clipboard!
Stiamo cercando un Programmatore di sistemi altamente qualificato e motivato da inserire nel nostro team tecnologico per progettare, sviluppare, testare e mantenere software di basso livello destinato a sistemi operativi, driver, strumenti di rete, componenti embedded e infrastrutture ad alte prestazioni. La figura ideale possiede una solida comprensione dell’architettura dei calcolatori, della gestione della memoria, della concorrenza, dei processi di compilazione e delle interazioni tra hardware e software. Questo ruolo è fondamentale per garantire affidabilità, efficienza, sicurezza e scalabilità delle piattaforme su cui si basano applicazioni e servizi critici.
Il Programmatore di sistemi collaborerà con ingegneri software, amministratori di sistema, specialisti DevOps, team di sicurezza e responsabili di prodotto per tradurre requisiti tecnici e operativi in soluzioni robuste e performanti. Le attività comprenderanno lo sviluppo di moduli software vicini al sistema operativo, l’analisi delle prestazioni, il debugging avanzato, l’ottimizzazione dell’uso delle risorse e la risoluzione di problemi complessi in ambienti Linux, Unix o multipiattaforma. Sarà inoltre coinvolto nella scrittura di codice pulito, documentato e manutenibile, seguendo standard di qualità elevati e pratiche di sviluppo moderne.
La persona selezionata dovrà essere in grado di lavorare con linguaggi come C e C++, comprendere script di automazione, utilizzare strumenti di profiling e debugging, e contribuire al miglioramento continuo dell’infrastruttura software. Una particolare attenzione sarà dedicata alla stabilità del sistema, alla gestione degli errori, alla sicurezza del codice e alla compatibilità tra versioni e ambienti differenti. In molti casi, il ruolo richiederà anche la lettura di documentazione tecnica approfondita, l’analisi di log di sistema e l’intervento su componenti critici con impatto diretto sulle prestazioni complessive.
Cerchiamo una persona analitica, precisa e orientata alla risoluzione dei problemi, capace di affrontare sfide tecniche complesse con metodo e autonomia. È importante avere una mentalità collaborativa, buone capacità comunicative e disponibilità a confrontarsi con team multidisciplinari. L’esperienza in ambienti ad alta affidabilità, sistemi distribuiti, virtualizzazione, networking o sviluppo embedded costituirà un vantaggio significativo.
Offriamo un contesto professionale dinamico, con opportunità di crescita tecnica, accesso a progetti innovativi e possibilità di contribuire in modo concreto alla costruzione di soluzioni software fondamentali per il funzionamento di piattaforme moderne. Se sei appassionato di programmazione di basso livello, ottimizzazione delle prestazioni e progettazione di sistemi affidabili, questo ruolo rappresenta un’eccellente opportunità per mettere a frutto le tue competenze e svilupparne di nuove in un ambiente stimolante e tecnologicamente avanzato.
Responsabilità
Text copied to clipboard!- Progettare e sviluppare componenti software di basso livello per sistemi operativi e piattaforme infrastrutturali.
- Analizzare e ottimizzare prestazioni, consumo di memoria e utilizzo delle risorse di sistema.
- Eseguire debugging avanzato di problemi complessi relativi a processi, thread, I/O e rete.
- Collaborare con team DevOps, sicurezza e sviluppo applicativo per integrare soluzioni affidabili.
- Scrivere codice efficiente, documentato e manutenibile secondo standard di qualità condivisi.
- Implementare test, strumenti diagnostici e procedure di monitoraggio per componenti critici.
- Gestire la compatibilità tra versioni software, librerie, kernel e ambienti differenti.
- Contribuire alla documentazione tecnica e alla revisione del codice all’interno del team.
Requisiti
Text copied to clipboard!- Esperienza nello sviluppo in C e/o C++ in ambienti Linux o Unix.
- Conoscenza approfondita di sistemi operativi, gestione della memoria e concorrenza.
- Capacità di utilizzare strumenti di debugging, profiling e analisi delle prestazioni.
- Comprensione di processi di compilazione, linking, librerie statiche e dinamiche.
- Esperienza con scripting di automazione, ad esempio Bash o Python.
- Conoscenza di protocolli di rete, file system e interazione hardware-software.
- Attitudine analitica e capacità di risolvere problemi tecnici complessi in autonomia.
- Buona conoscenza dell’inglese tecnico per leggere documentazione e specifiche.
- Esperienza con sistemi embedded, virtualizzazione o containerizzazione considerata un plus.
Domande potenziali per l'intervista
Text copied to clipboard!- Qual è la tua esperienza nello sviluppo di software di basso livello?
- Hai lavorato su sistemi Linux, Unix o ambienti embedded?
- Quali linguaggi di programmazione utilizzi con maggiore sicurezza in ambito sistemistico?
- Hai esperienza nel debugging di problemi legati a memoria, thread o prestazioni?
- Quali strumenti di profiling o analisi delle prestazioni hai utilizzato?
- Hai mai sviluppato o mantenuto driver, moduli kernel o servizi di sistema?
- Come affronti la scrittura di codice sicuro e affidabile in contesti critici?
- Hai esperienza nella collaborazione con team DevOps, sicurezza o infrastruttura?